package com.sanqi.work.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sanqi.common.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sanqi.common.core.domain.BaseEntity;

/**
 * 个人累计工作对象 wx_tmp_accu_work
 * 
 * @author duany
 * @date 2025-10-14
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("wx_tmp_accu_work")
public class WxTmpAccuWork extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /** 文件ID */
    @Excel(name = "文件ID")
    @TableField(value="file_id")
    private String fileId;

    /** 下标位置 */
    @Excel(name = "下标位置")
    @TableField(value="file_index")
    private Long fileIndex;

    /** 会员账号 */
    @Excel(name = "会员账号")
    @TableField(value="user_no")
    private String userNo;

    /** OP账号 */
    @Excel(name = "OP账号")
    @TableField(value="op_no")
    private String opNo;

    /** 姓名 */
    @Excel(name = "姓名")
    @TableField(value="emp_name")
    private String empName;

    /** 班组 */
    @Excel(name = "班组")
    @TableField(value="work_team")
    private String workTeam;

    /** 签入次数 */
    @Excel(name = "签入次数")
    @TableField(value="check_in_times")
    private Long checkInTimes;

    /** 工作时长 */
    @Excel(name = "工作时长")
    @TableField(value="work_time")
    private Long workTime;

    /** 通话时长(含外呼转人工) */
    @Excel(name = "通话时长(含外呼转人工)")
    @TableField(value="call_time")
    private Long callTime;

    /** 示忙时长 */
    @Excel(name = "示忙时长")
    @TableField(value="busy_time")
    private Long busyTime;

    /** 通话次数(含外呼转人工) */
    @Excel(name = "通话次数(含外呼转人工)")
    @TableField(value="call_times")
    private Long callTimes;

    /** 一次解决人工服务请求量 */
    @Excel(name = "一次解决人工服务请求量")
    @TableField(value="solution_quantity")
    private Long solutionQuantity;

    /** 有效触发量 */
    @Excel(name = "有效触发量")
    @TableField(value="trigger_quantity")
    private Long triggerQuantity;

    /** 有效回复量 */
    @Excel(name = "有效回复量")
    @TableField(value="call_res")
    private Long callRes;

    /** 咨询满意度 */
    @Excel(name = "咨询满意度")
    @TableField(value="con_satisfaction")
    private BigDecimal conSatisfaction;

    /** 呼入营销满意度 */
    @Excel(name = "呼入营销满意度")
    @TableField(value="in_satisfaction")
    private BigDecimal inSatisfaction;

    /** 问题解决满意度(咨询) */
    @Excel(name = "问题解决满意度(咨询)")
    @TableField(value="sol_satisfaction")
    private BigDecimal solSatisfaction;

    /** 错误工单量 */
    @Excel(name = "错误工单量")
    @TableField(value="wrong_order")
    private Long wrongOrder;

    /** 投诉提交量 */
    @Excel(name = "投诉提交量")
    @TableField(value="complaint_quantity")
    private Long complaintQuantity;

    /** 话务量 */
    @Excel(name = "话务量")
    @TableField(value="traffic_volume")
    private BigDecimal trafficVolume;

    /** 通话均长 */
    @Excel(name = "通话均长")
    @TableField(value="call_time_av")
    private BigDecimal callTimeAv;

    /** 每小时处理量 */
    @Excel(name = "每小时处理量")
    @TableField(value="hourly_proc")
    private BigDecimal hourlyProc;

    /** 示忙率 */
    @Excel(name = "示忙率")
    @TableField(value="busy_rate")
    private BigDecimal busyRate;

    /** 通话利用率 */
    @Excel(name = "通话利用率")
    @TableField(value="call_rate")
    private BigDecimal callRate;

    /** 一次性解决率 */
    @Excel(name = "一次性解决率")
    @TableField(value="solution_rate")
    private BigDecimal solutionRate;

    /** 人工满意度(咨询+营销) */
    @Excel(name = "人工满意度(咨询+营销)")
    @TableField(value="satisfaction")
    private BigDecimal satisfaction;

    /** 参评率 */
    @Excel(name = "参评率")
    @TableField(value="participation_rate")
    private BigDecimal participationRate;

    /** 工单提交准确率 */
    @Excel(name = "工单提交准确率")
    @TableField(value="submit_rate")
    private BigDecimal submitRate;

    /** 立单率 */
    @Excel(name = "立单率")
    @TableField(value="order_rate")
    private BigDecimal orderRate;

    /** 所在职场 */
    @Excel(name = "所在职场")
    @TableField(value="workplace")
    private String workplace;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    public void setFileId(String fileId) 
    {
        this.fileId = fileId;
    }

    public String getFileId() 
    {
        return fileId;
    }

    public void setFileIndex(Long fileIndex) 
    {
        this.fileIndex = fileIndex;
    }

    public Long getFileIndex() 
    {
        return fileIndex;
    }

    public void setUserNo(String userNo) 
    {
        this.userNo = userNo;
    }

    public String getUserNo() 
    {
        return userNo;
    }

    public void setOpNo(String opNo) 
    {
        this.opNo = opNo;
    }

    public String getOpNo() 
    {
        return opNo;
    }

    public void setEmpName(String empName) 
    {
        this.empName = empName;
    }

    public String getEmpName() 
    {
        return empName;
    }

    public void setWorkTeam(String workTeam) 
    {
        this.workTeam = workTeam;
    }

    public String getWorkTeam() 
    {
        return workTeam;
    }

    public void setCheckInTimes(Long checkInTimes) 
    {
        this.checkInTimes = checkInTimes;
    }

    public Long getCheckInTimes() 
    {
        return checkInTimes;
    }

    public void setWorkTime(Long workTime) 
    {
        this.workTime = workTime;
    }

    public Long getWorkTime() 
    {
        return workTime;
    }

    public void setCallTime(Long callTime) 
    {
        this.callTime = callTime;
    }

    public Long getCallTime() 
    {
        return callTime;
    }

    public void setBusyTime(Long busyTime) 
    {
        this.busyTime = busyTime;
    }

    public Long getBusyTime() 
    {
        return busyTime;
    }

    public void setCallTimes(Long callTimes) 
    {
        this.callTimes = callTimes;
    }

    public Long getCallTimes() 
    {
        return callTimes;
    }

    public void setSolutionQuantity(Long solutionQuantity) 
    {
        this.solutionQuantity = solutionQuantity;
    }

    public Long getSolutionQuantity() 
    {
        return solutionQuantity;
    }

    public void setTriggerQuantity(Long triggerQuantity) 
    {
        this.triggerQuantity = triggerQuantity;
    }

    public Long getTriggerQuantity() 
    {
        return triggerQuantity;
    }

    public void setCallRes(Long callRes) 
    {
        this.callRes = callRes;
    }

    public Long getCallRes() 
    {
        return callRes;
    }

    public void setConSatisfaction(BigDecimal conSatisfaction) 
    {
        this.conSatisfaction = conSatisfaction;
    }

    public BigDecimal getConSatisfaction() 
    {
        return conSatisfaction;
    }

    public void setInSatisfaction(BigDecimal inSatisfaction) 
    {
        this.inSatisfaction = inSatisfaction;
    }

    public BigDecimal getInSatisfaction() 
    {
        return inSatisfaction;
    }

    public void setSolSatisfaction(BigDecimal solSatisfaction) 
    {
        this.solSatisfaction = solSatisfaction;
    }

    public BigDecimal getSolSatisfaction() 
    {
        return solSatisfaction;
    }

    public void setWrongOrder(Long wrongOrder) 
    {
        this.wrongOrder = wrongOrder;
    }

    public Long getWrongOrder() 
    {
        return wrongOrder;
    }

    public void setComplaintQuantity(Long complaintQuantity) 
    {
        this.complaintQuantity = complaintQuantity;
    }

    public Long getComplaintQuantity() 
    {
        return complaintQuantity;
    }

    public void setTrafficVolume(BigDecimal trafficVolume) 
    {
        this.trafficVolume = trafficVolume;
    }

    public BigDecimal getTrafficVolume() 
    {
        return trafficVolume;
    }

    public void setCallTimeAv(BigDecimal callTimeAv) 
    {
        this.callTimeAv = callTimeAv;
    }

    public BigDecimal getCallTimeAv() 
    {
        return callTimeAv;
    }

    public void setHourlyProc(BigDecimal hourlyProc) 
    {
        this.hourlyProc = hourlyProc;
    }

    public BigDecimal getHourlyProc() 
    {
        return hourlyProc;
    }

    public void setBusyRate(BigDecimal busyRate) 
    {
        this.busyRate = busyRate;
    }

    public BigDecimal getBusyRate() 
    {
        return busyRate;
    }

    public void setCallRate(BigDecimal callRate) 
    {
        this.callRate = callRate;
    }

    public BigDecimal getCallRate() 
    {
        return callRate;
    }

    public void setSolutionRate(BigDecimal solutionRate) 
    {
        this.solutionRate = solutionRate;
    }

    public BigDecimal getSolutionRate() 
    {
        return solutionRate;
    }

    public void setSatisfaction(BigDecimal satisfaction) 
    {
        this.satisfaction = satisfaction;
    }

    public BigDecimal getSatisfaction() 
    {
        return satisfaction;
    }

    public void setParticipationRate(BigDecimal participationRate) 
    {
        this.participationRate = participationRate;
    }

    public BigDecimal getParticipationRate() 
    {
        return participationRate;
    }

    public void setSubmitRate(BigDecimal submitRate) 
    {
        this.submitRate = submitRate;
    }

    public BigDecimal getSubmitRate() 
    {
        return submitRate;
    }

    public void setOrderRate(BigDecimal orderRate) 
    {
        this.orderRate = orderRate;
    }

    public BigDecimal getOrderRate() 
    {
        return orderRate;
    }

    public void setWorkplace(String workplace) 
    {
        this.workplace = workplace;
    }

    public String getWorkplace() 
    {
        return workplace;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("fileId", getFileId())
            .append("fileIndex", getFileIndex())
            .append("userNo", getUserNo())
            .append("opNo", getOpNo())
            .append("empName", getEmpName())
            .append("workTeam", getWorkTeam())
            .append("checkInTimes", getCheckInTimes())
            .append("workTime", getWorkTime())
            .append("callTime", getCallTime())
            .append("busyTime", getBusyTime())
            .append("callTimes", getCallTimes())
            .append("solutionQuantity", getSolutionQuantity())
            .append("triggerQuantity", getTriggerQuantity())
            .append("callRes", getCallRes())
            .append("conSatisfaction", getConSatisfaction())
            .append("inSatisfaction", getInSatisfaction())
            .append("solSatisfaction", getSolSatisfaction())
            .append("wrongOrder", getWrongOrder())
            .append("complaintQuantity", getComplaintQuantity())
            .append("trafficVolume", getTrafficVolume())
            .append("callTimeAv", getCallTimeAv())
            .append("hourlyProc", getHourlyProc())
            .append("busyRate", getBusyRate())
            .append("callRate", getCallRate())
            .append("solutionRate", getSolutionRate())
            .append("satisfaction", getSatisfaction())
            .append("participationRate", getParticipationRate())
            .append("submitRate", getSubmitRate())
            .append("orderRate", getOrderRate())
            .append("workplace", getWorkplace())
            .toString();
    }
}
